# -*- coding: utf-8 -*-

'''
写一个函数，求两个整数之和，要求在函数体内不得使用+、-、*、/四则运算符号。
'''
#  利用异或以及与进位求解
#  通过每次对num1进行与操作保证是一个32位的整形
#  因此最后我们可以判断符号位是否为1做处理

class Solution:
    def Add(self, num1, num2):
        while num2 != 0:
            temp = num1 ^ num2
            num2 = (num1 & num2) << 1
            num1 = temp & 0xFFFFFFFF
        return num1 if num1 >> 31 == 0 else num1 - 4294967296
    
s = Solution()
print(s.Add(5, 10))